Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program

ABSTRACT

In a moving picture coding device that codes moving pictures in units of a block by partitioning a first block, which is obtained by partitioning each picture of the moving pictures into predetermined sizes, into one or a plurality of second blocks, a quantization parameter calculation unit calculates a quantization parameter of the second block. A predictive quantization parameter deriving unit derives a predictive quantization parameter of the second block using quantization parameters of a third block adjacent to the left of the second block and a fourth block adjacent to the top of the second block. A differential quantization parameter generation unit generates a differential quantization parameter of the second block from a difference between the quantization parameter of the second block and the predictive quantization parameter. A first bitstream generation unit codes the differential quantization parameter of the second block.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.14/295,860, filed Jun. 4, 2014, which is a Continuation of InternationalApplication No. PCT/JP2012/007964, filed Dec. 13, 2012, which claims thebenefit of Japanese Patent Application Nos. 2011-272470 and 2011-272471,filed Dec. 13, 2011, and 2012-271418 and 2012-271419, filed Dec. 12,2012.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to moving picture coding and decodingtechniques, and in particular, to moving picture coding and decodingtechniques using predictive coding of a quantization parameter.

2. Description of the Related Art

In digital moving picture coding, such as MPEG-2 Part2 (hereinafter,referred to as MPEG-2) or MPEG-4 Part10/H 0.264 (hereinafter, referredto as AVC), each picture is partitioned into blocks having apredetermined size and coding is performed, and a quantization parameterindicating the roughness of quantization for a prediction error signal(or simply a picture signal) is transmitted. By variably controlling thequantization parameter in units of a predetermined block on the codingside, it is possible to control the code amount or to improve thesubjective picture quality.

As quantization parameter control for improving the subjective picturequality, Adaptive Quantization is often used. In the adaptivequantization, change according to the activity of each macroblock ismade such that quantization is applied more finely in a flat portion, inwhich deterioration is visually easily recognized, and quantization isapplied more coarsely in a complex design portion, in which the visualrecognition of deterioration is relatively difficult. That is, in amacroblock with high activity for which the assigned bit amount at thetime of coding tends to increase, the quantization parameter is changedso that the large quantization scale is set. As a result, the subjectivepicture quality is improved while performing control such that thenumber of bits in the data of the coded picture is reduced as much aspossible.

In the MPEG-2, it is determined whether or not the quantizationparameter of the last block in coding/decoding order is the same as thequantization parameter of a block to be coded, and the quantizationparameter is transmitted when the quantization parameter of the lastblock is not the same as the quantization parameter of the block to becoded. In the AVC, differential coding of the quantization parameter ofthe block to be coded is performed using the quantization parameter ofthe last block in coding/decoding order as a predicted value. This isbased on the fact that code amount control is performed in coding orderin general, and accordingly, the quantization parameter of the lastblock in coding order is closest to the quantization parameter of thecoding block, and the purpose is to suppress the amount of informationof the quantization parameter to be transmitted.

CITATION LIST Patent Literature

[Patent Literature 1] Japanese Patent Application Laid-Open No.2011-91772

In known quantization parameter control, the code amount of thequantization parameter has been reduced by calculating the differencebetween the quantization parameter of a codedblock on the left side as apredictive quantization parameter and the quantization parameter of ablock to be coded and coding the calculated differential quantizationparameter. However, depending on the content in a screen, for example,when the features of a picture in a block to be coded and a picture in acoded block on the left side are different as shown in FIG. 8, thedifference between the quantization parameters calculated by theadaptive quantization is increased. In this case, even if quantizationparameter prediction using the left block is performed uniformly, thedifferential quantization parameter becomes large. Accordingly, therehas been a problem in that the code amount is increased.

In addition, since quantization parameters calculated by the code amountcontrol are performed in raster scan order from the upper left to thelower right of the normal screen, processing turns of slices become awayfrom each other if the block size to be coded is reduced. For thisreason, when the quantization parameter of a coded block above which ablock to be coded is adjacent is used for prediction, these blocks areadjacent to each other but the processing turns in the code amountcontrol are away from each other. Therefore, there is no chance that thequantization parameters calculated by the code amount control willnecessarily become the same value or close values in the block to becoded and a coded block adjacent to the top of the block to be coded. Asa result, there has been a problem in that it cannot be said that thecode amount of the differential quantization parameter can be reduced.

SUMMARY OF THE INVENTION

The present invention has been made in view of such a situation, and itis an object of the present invention to provide a technique forimproving the coding efficiency by reducing the code amount of thequantization parameter.

In order to solve the problem described above, a moving picture codingdevice according to an aspect of the present invention is a movingpicture coding device that codes moving pictures in units of a block bypartitioning a first block, which is obtained by partitioning eachpicture of the moving pictures into predetermined sizes, into one or aplurality of second blocks. The moving picture coding device includes: aquantization parameter calculation unit (110) configured to calculate aquantization parameter of the second block; a predictive quantizationparameter deriving unit (114) configured to derive a predictivequantization parameter of the second block using quantization parametersof a third block adjacent to the left of the second block and a fourthblock adjacent to the top of the second block; a differentialquantization parameter generation unit (111) configured to generate adifferential quantization parameter of the second block from adifference between the quantization parameter of the second block andthe predictive quantization parameter; and a coding unit (112)configured to code the differential quantization parameter of the secondblock. The predictive quantization parameter deriving unit (114) setsthe quantization parameter of the third block as a first quantizationparameter when the third block is at a position not beyond a boundary ofthe first block, sets a quantization parameter of a fifth block codedbefore the second block as the first quantization parameter when thethird block is at a position beyond the boundary of the first block,sets the quantization parameter of the fourth block as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, sets the quantization parameter of thefifth block as the second quantization parameter when the fourth blockis at a position beyond the boundary of the first block, and derives thepredictive quantization parameter of the second block using the firstand second quantization parameters.

Another aspect of the present invention is also a moving picture codingdevice. This device is a moving picture coding device that codes movingpictures in units of a coding block by partitioning a block, which isobtained by partitioning each picture of the moving pictures intopredetermined sizes, into one or a plurality of coding blocks. Thedevice includes: a quantization parameter calculation unit (110)configured to calculate a quantization parameter of the coding block; apredictive quantization parameter deriving unit (114) configured toderive a predictive quantization parameter of the coding block usingquantization parameters of coded neighboring blocks adjacent to thecoding block; a differential quantization parameter generation unit(111) configured to generate a differential quantization parameter ofthe coding block from a difference between the quantization parameter ofthe coding block and the predictive quantization parameter; and a codingunit (112) configured to code the differential quantization parameter ofthe coding block. When a neighboring block adjacent to the coding blockin a predetermined direction of the coding block is at a position beyonda boundary of the block having the predetermined size, the predictivequantization parameter deriving unit (114) derives the predictivequantization parameter of the coding block using quantization parametersof other coded blocks that are different from the neighboring blockadjacent to the coding block in the predetermined direction.

Still another aspect of the present invention is a moving picture codingmethod. This method is a moving picture coding method of coding movingpictures in units of a block by partitioning a first block, which isobtained by partitioning each picture of the moving pictures intopredetermined sizes, into one or a plurality of second blocks. Themethod includes: a quantization parameter calculation step ofcalculating a quantization parameter of the second block; a predictivequantization parameter deriving step of deriving a predictivequantization parameter of the second block using quantization parametersof a third block adjacent to the left of the second block and a fourthblock adjacent to the top of the second block; a differentialquantization parameter generation step of generating a differentialquantization parameter of the second block from a difference between thequantization parameter of the second block and the predictivequantization parameter; and a coding step of coding the differentialquantization parameter of the second block. In the predictivequantization parameter deriving step, the quantization parameter of thethird block is set as a first quantization parameter when the thirdblock is at a position not beyond a boundary of the first block, aquantization parameter of a fifth block coded before the second block isset as the first quantization parameter when the third block is at aposition beyond the boundary of the first block, the quantizationparameter of the fourth block is set as a second quantization parameterwhen the fourth block is at a position not beyond the boundary of thefirst block, the quantization parameter of the fifth block is set as thesecond quantization parameter when the fourth block is at a positionbeyond the boundary of the first block, and the predictive quantizationparameter of the second block is derived using the first and secondquantization parameters.

A moving picture decoding device according to an aspect of the presentinvention is a moving picture decoding device that decodes a bitstreamin which moving pictures are coded by partitioning a first block, whichis obtained by partitioning each picture of the moving pictures intopredetermined sizes, into one or a plurality of second blocks. Themoving picture decoding device includes: a decoding unit (202)configured to extract a differential quantization parameter of thesecond block by decoding the bitstream; a predictive quantizationparameter deriving unit (205) configured to derive a predictivequantization parameter of the second block using quantization parametersof a third block adjacent to the left of the second block and a fourthblock adjacent to the top of the second block; and a quantizationparameter generation unit (203) configured to generate a quantizationparameter of the second block by adding the differential quantizationparameter of the second block and the predictive quantization parameter.The predictive quantization parameter deriving unit (205) sets thequantization parameter of the third block as a first quantizationparameter when the third block is at a position not beyond a boundary ofthe first block, sets a quantization parameter of a fifth block decodedbefore the second block as the first quantization parameter when thethird block is at a position beyond the boundary of the first block,sets the quantization parameter of the fourth block as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, sets the quantization parameter of thefifth block as the second quantization parameter when the fourth blockis at a position beyond the boundary of the first block, and derives thepredictive quantization parameter of the second block using the firstand second quantization parameters. Another aspect of the presentinvention is also a moving picture decoding device. This device is amoving picture decoding device that decodes a bit stream in which movingpictures are coded in units of a coding block by partitioning a block,which is obtained by partitioning each picture of the moving picturesinto predetermined sizes, into one or a plurality of coding blocks. Thedevice includes: a decoding unit (202) configured to extract adifferential quantization parameter of a decoding block by decoding thebit stream in units of a decoding block; a predictive quantizationparameter deriving unit (205) configured to derive a predictivequantization parameter of the decoding block according to a predictionmode of the decoding block using quantization parameters of decodedneighboring blocks adjacent to the decoding block; and a quantizationparameter generation unit (203) configured to generate a quantizationparameter of the decoding block by adding the differential quantizationparameter of the decoding block and the predictive quantizationparameter. When a neighboring block adjacent to the decoding block in apredetermined direction of the decoding block is at a position beyond aboundary of the block having the predetermined size, the predictivequantization parameter deriving unit (205) derives the predictivequantization parameter of the decoding block using quantizationparameters of other decoded blocks that are different from theneighboring block adjacent to the decoding block in the predetermineddirection.

Still another aspect of the present invention is a moving picturedecoding method. This method is a moving picture decoding method ofdecoding a bitstream in which moving pictures are coded by partitioninga first block, which is obtained by partitioning each picture of themoving pictures into predetermined sizes, into one or a plurality ofsecond blocks. The method includes: a decoding step of extracting adifferential quantization parameter of the second block by decoding thebitstream; a predictive quantization parameter deriving step of derivinga predictive quantization parameter of the second block usingquantization parameters of a third block adjacent to the left of thesecond block and a fourth block adjacent to the top of the second block;and a quantization parameter generation step of generating aquantization parameter of the second block by adding the differentialquantization parameter of the second block and the predictivequantization parameter. In the predictive quantization parameterderiving step, the quantization parameter of the third block is set as afirst quantization parameter when the third block is at a position notbeyond a boundary of the first block, a quantization parameter of afifth block decoded before the second block is set as the firstquantization parameter when the third block is at a position beyond theboundary of the first block, the quantization parameter of the fourthblock is set as a second quantization parameter when the fourth block isat a position not beyond the boundary of the first block, thequantization parameter of the fifth block is set as the secondquantization parameter when the fourth block is at a position beyond theboundary of the first block, and the predictive quantization parameterof the second block is derived using the first and second quantizationparameters.

In addition, any combination of the above-described constituent elementsand those obtained by converting the expression of the present inventioninto a method, a device, a system, a recording medium, a computerprogram, and the like are also effective as aspects of the presentinvention.

According to the present invention, it is possible to improve the codingefficiency by reducing the code amount of the quantization parameter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the configuration of a moving picturecoding device including a method of deriving a predictive quantizationparameter according to an embodiment.

FIG. 2 is a block diagram showing the configuration of a moving picturedecoding device including a method of deriving a predictive quantizationparameter according to an embodiment.

FIG. 3 is a diagram for explaining the code amount control in a screenof MPEG-2 TM5.

FIG. 4 is a diagram showing a quantization parameter prediction methodof H.264.

FIG. 5 is a diagram showing an example of the coding sequence whenhierarchical tree coding is used.

FIG. 6 is a diagram showing the prediction of a quantization parameterof an upper left coding block in a tree block partitioned by thehierarchical tree coding.

FIG. 7 is a diagram showing an example of the coding sequence in a treeblock partitioned by the hierarchical tree coding.

FIG. 8 is a diagram showing an example in which, for a coding block tobe coded and neighboring coded blocks adjacent to the coding block,designs are included in the left block and the upper left block.

FIG. 9 is a diagram for explaining the positions of coding blocksadjacent to the top and bottom in the code amount control in the screenof MPEG-2 TM5.

FIG. 10 is a diagram showing an example of a signed exponential-Golombcoding table of a differential quantization parameter.

FIG. 11 is a diagram showing the relationship between a tree block to becoded and a coded tree block.

FIG. 12 is a diagram showing the relationship between a coded block anda coding block in a tree block partitioned by the hierarchical treecoding.

FIG. 13 is a diagram showing the reference of a predictive quantizationparameter of a coding block in a first embodiment.

FIG. 14 is a diagram showing an example in which the quantizationparameter of a neighboring coded block is shown as a reference as apredictive quantization parameter of a coding block.

FIG. 15 is a flowchart for explaining the operation of a predictivequantization parameter deriving unit of the first embodiment.

FIG. 16 is a flowchart for explaining another operation of thepredictive quantization parameter deriving unit of the first embodiment.

FIG. 17 is a diagram showing the reference of a predictive quantizationparameter of a coding block in a second embodiment.

FIG. 18 is a flowchart for explaining the operation of a predictivequantization parameter deriving unit of the second embodiment.

FIG. 19 is a diagram showing the reference of a predictive quantizationparameter of a coding block in the second embodiment.

FIG. 20 is a flowchart for explaining the operation of a predictivequantization parameter deriving unit of the second embodiment.

FIG. 21 is a diagram showing the reference of a predictive quantizationparameter of a coding block in a third embodiment.

FIG. 22 is a flowchart for explaining the operation of a predictivequantization parameter deriving unit of the third embodiment.

FIG. 23 is a diagram showing the reference of a predictive quantizationparameter of a coding block in a fourth embodiment.

FIG. 24 is a flowchart for explaining the operation of a predictivequantization parameter deriving unit of the fourth embodiment.

FIG. 25 is a diagram for explaining an example of a quantization group.

FIG. 26 is a diagram for explaining an example of the prediction of aquantization parameter in units of a quantization group.

DETAILED DESCRIPTION OF THE INVENTION

In embodiments of the present invention, in order to reduce the codeamount of the quantization parameter of a block to be processed inmoving picture coding in which each picture is partitioned intorectangular blocks having a predetermined size, the block is partitionedinto one or a plurality of coding blocks, and quantization and codingare performed in units of a coding block, a code amount controltechnique for performing coding by deriving an optimal predictivequantization parameter from the coding information of neighboring codedblocks and calculating a difference from the predictive quantizationparameter is provided.

A moving picture coding device 100 and a moving picture decoding device200 suitable for embodying the present invention will be described. FIG.1 is a block diagram showing the configuration of the moving picturecoding device 100 embodying the present invention. The moving picturecoding device 100 is configured to include a picture memory 101, aresidual signal generation unit 102, an orthogonal transform andquantization unit 103, a second bitstream generation unit 104, aninverse quantization and inverse orthogonal transform unit 105, adecoded picture signal superimposing unit 106, a decoded picture memory107, a predicted picture generation unit 108, an activity calculationunit 109, a quantization parameter calculation unit 110, a differentialquantization parameter generation unit 111, a first bitstream generationunit 112, a coding information storage memory 113, a predictivequantization parameter deriving unit 114, and a bitstream multiplexingunit 115. In addition, the thick solid arrow connecting blocks to eachother indicates the flow of a picture signal of a picture, and the thinsolid arrow indicates the flow of a parameter signal for controlling thecoding.

The picture memory 101 temporarily stores a picture signal to be codedthat is supplied in order of imaging/display time. The picture memory101 supplies the stored picture signal to be coded to the residualsignal generation unit 102, the predicted picture generation unit 108,and the activity calculation unit 109 in units of a predetermined pixelblock. In this case, the pictures stored in order of imaging/displaytime are sorted in coding order, and are output from the picture memory101 in units of a pixel block.

The residual signal generation unit 102 generates a residual signal byperforming subtraction between the picture signal to be coded and aprediction signal generatedby the predicted picture generation unit 108,and supplies the residual signal to the orthogonal transform andquantization unit 103.

The orthogonal transform and quantization unit 103 generates anorthogonally transformed and quantized residual signal by performingorthogonal transform and quantization on the residual signal, andsupplies the orthogonally transformed and quantized residual signal tothe second bitstream generation unit 104 and the inverse quantizationand inverse orthogonal transform unit 105.

The second bitstream generation unit 104 generates a second bitstream byentropy-coding the orthogonally transformed and quantized residualsignal according to the defined syntax rules, and supplies the secondbitstream to the bitstream multiplexing unit 115.

The inverse quantization and inverse orthogonal transform unit 105calculates a residual signal by performing inverse quantization andinverse orthogonal transform of the orthogonally transformed andquantized residual signal, which is supplied from the orthogonaltransform and quantization unit 103, and supplies the residual signal tothe decoded picture signal superimposing unit 106.

The decoded picture signal superimposing unit 106 generates decodedpictures by superimposing the predicted picture signal generated by thepredicted picture generation unit 108 and the residual signal obtainedby inverse quantization and inverse orthogonal transform of the inversequantization and inverse orthogonal transform unit 105, and stores thedecoded pictures in the decoded picture memory 107. In addition, afiltering process to reduce distortion, such as block distortion due tocoding of decoded pictures, may be performed and the result may bestored in the decoded picture memory 107. In this case, predicted codinginformation, such as a flag for identifying the information of a postfilter such as a deblocking filter, is stored in the coding informationstorage memory 113 when necessary.

From the picture signal supplied from the picture memory 101 and thedecoded picture signal supplied from the decoded picture memory 107, thepredicted picture generation unit 108 generates a predicted picturesignal by performing intra prediction or inter prediction based on theprediction mode. The intra prediction is to generate a predicted picturesignal using a pixel signal of a block to be coded, which is obtained bypartitioning the picture signal supplied from the picture memory 101 inunits of a predetermined block, and pixel signals, which are suppliedfrom the decoded picture memory 107, of neighboring coded blocksadjacent to the block to be coded that are present in the same frame asthe blocks to be coded. The inter prediction is to generate a predictedpicture signal by performing block matching between a coding frame and areference frame to calculate a motion amount called a motion vector andperforming motion compensation from the reference frame based on themotion amount. The reference frame is a coded frame stored in thedecoded picture memory 107 that is several frames away from the front orback in time series of a frame (coding frame) of a block to be codedobtained by partitioning the picture signal supplied from the picturememory 101 in units of a predetermined block. The predicted picturesignal generated in this manner is supplied to the residual signalgeneration unit 102. Coding information such as a motion vector obtainedby the predicted picture generation unit 108 is stored in the codinginformation storage memory 113 when necessary. In addition, when theselection of a plurality of prediction modes is possible, the predictedpicture generation unit 108 determines an optimal prediction mode byevaluating the amount of distortion or the like between the generatedpredicted picture signal and the original picture signal, selects apredicted picture signal generated by prediction based on the determinedprediction mode, and supplies the predicted picture signal to theresidual signal generation unit 102. When the prediction mode is intraprediction, the intra prediction mode is supplied to the codinginformation storage memory 113 and the first bitstream generation unit.

The activity calculation unit 109 calculates an activity that is acoefficient indicating the complexity or smoothness of a picture of theblock to be coded that is supplied from the picture memory 101, andsupplies the activity to the quantization parameter calculation unit110. The detailed configuration and operation of the activitycalculation unit 109 will be described in embodiments below.

The quantization parameter calculation unit 110 calculates aquantization parameter of the block to be coded using the activitycalculated by the activity calculation unit 109, and supplies thequantization parameter to the differential quantization parametergeneration unit 111 and the coding information storage memory 113. Thedetailed configuration and operation of the quantization parametercalculation unit 110 will be described in embodiments below.

The differential quantization parameter generation unit 111 calculates adifferential quantization parameter by subtracting the predictivequantization parameter derived by the predictive quantization parameterderiving unit 114 from the quantization parameter calculated by thequantization parameter calculation unit 110, and supplies thedifferential quantization parameter to the first bitstream generationunit 112.

The first bitstream generation unit 112 generates a first bitstream bycoding the differential quantization parameter calculated by thedifferential quantization parameter generation unit 111 according to thedefined syntax rules, and supplies the first bitstream to the bitstreammultiplexing unit 115.

The coding information storage memory 113 stores the quantizationparameter of the coded block. In addition, although no connection isshown in FIG. 1, coding information generated by the predicted picturegeneration unit 108, such as a prediction mode or a motion vector, isalso stored as information required for coding the next block to becoded. In addition, coding information generated in units of a pictureor a slice is also stored when necessary.

The predictive quantization parameter deriving unit 114 derives apredictive quantization parameter using coding information orquantization parameters of neighboring coded blocks adjacent to a blockto be coded, and supplies the predictive quantization parameter to thedifferential quantization parameter generation unit 111. The detailedconfiguration and operation of the predictive quantization parameterderiving unit 114 will be described in embodiments below.

The bitstream multiplexing unit 115 multiplexes the first and secondbitstreams according to the defined syntax rules, and outputs abitstream.

FIG. 2 is a block diagram showing the configuration of the movingpicture decoding device 200 according to an embodiment corresponding tothe moving picture coding device 100 shown in FIG. 1. The moving picturedecoding device 200 of the embodiment includes a bitstream separationunit 201, a first bitstream decoding unit 202, a quantization parametergeneration unit 203, a coding information storage memory 204, apredictive quantization parameter deriving unit 205, a second bitstreamdecoding unit 206, an inverse quantization and inverse orthogonaltransform unit 207, a decoded picture signal superimposing unit 208, apredicted picture generation unit 209, and a decoded picture memory 210.In addition, similarly to the moving picture coding device 100 shown inFIG. 1, the thick solid arrow connecting blocks to each other indicatesthe flow of a picture signal of a picture, and the thin solid arrowindicates the flow of a parameter signal for controlling the coding.

Since a decoding process of the moving picture decoding device 200 shownin FIG. 2 corresponds to the decoding process set in the moving picturecoding device 100 shown in FIG. 1, each configuration of the inversequantization and inverse orthogonal transform unit 207, the decodedpicture signal superimposing unit 208, the predicted picture generationunit 209, the decoded picture memory 210, and the coding informationstorage memory 204 shown in FIG. 2 has a function corresponding to eachconfiguration of the inverse quantization and inverse orthogonaltransform unit 105, the decoded picture signal superimposing unit 106,the predicted picture generation unit 108, the decoded picture memory107, and the coding information storage memory 113 of the moving picturecoding device 100 shown in FIG. 1.

A bitstream supplied to the bitstream separation unit 201 is separatedaccording to the defined syntax rules, and the separated bitstreams aresupplied to the first bitstream decoding unit 202 and the secondbitstream decoding unit 206.

The first bitstream decoding unit 202 decodes the supplied bitstream andoutputs coding information regarding a prediction mode, a motion vector,a differential quantization parameter, and the like, and gives thedifferential quantization parameter to the quantization parametergeneration unit 203 and stores the coding information in the codinginformation storage memory 204.

The quantization parameter generation unit 203 calculates a quantizationparameter by adding the differential quantization parameter suppliedfrom the first bitstream decoding unit 202 and the quantizationparameter derived by the predictive quantization parameter deriving unit205, and supplies the quantization parameter to the inverse quantizationand inverse orthogonal transform unit 207 and the coding informationstorage memory 204.

The coding information storage memory 113 stores the quantizationparameter of the decoded block. In addition, not only the codinginformation of the block unit decoded by the first bitstream decodingunit 202 but also coding information generated in units of a picture ora slice is stored when necessary. In addition, although no connection isshown in FIG. 2, coding information, such as a decoded prediction modeor motion vector, is supplied to the predicted picture generation unit209.

The predictive quantization parameter deriving unit 205 derives apredictive quantization parameter using the coding information orquantization parameters of neighboring decoded blocks adjacent to ablock to be decoded, and supplies the predictive quantization parameterto the quantization parameter generation unit 203. The predictivequantization parameter deriving unit 205 has the same function as thepredictive quantization parameter deriving unit 114 of the movingpicture coding device 100, and the detailed configuration and operationwill be described in embodiments below.

The second bitstream decoding unit 206 calculates an orthogonallytransformed and quantized residual signal by decoding the suppliedbitstream, and gives the orthogonally transformed and quantized residualsignal to the inverse quantization and inverse orthogonal transform unit207.

The inverse quantization and inverse orthogonal transform unit 207performs inverse orthogonal transform and inverse quantization for theorthogonally transformed and quantized residual signal decoded by thesecond bitstream decoding unit 206 using the quantization parametergenerated by the quantization parameter generation unit 203, therebyobtaining an inversely orthogonal-transformed and inversely quantizedresidual signal.

The decoded picture signal superimposing unit 208 generates a decodedpicture signal by superimposing the predicted picture signal generatedby the predicted picture generation unit 209 and the residual signalobtained by inverse orthogonal transform and inverse quantization of theinverse quantization and inverse orthogonal transform unit 207, andoutputs the decoded picture signal and stores the decoded picture signalin the decoded picture memory 210. When storing the decoded picturesignal in the decoded picture memory 210, a filtering process forreducing block distortion or the like due to coding may be performed onthe decoded pictures, and the result may be stored in the decodedpicture memory 210.

The predicted picture generation unit 209 generates a predicted picturesignal from the decoded picture signal, which is supplied from thedecoded picture memory 210, based on the coding information such as aprediction mode or a motion vector decoded by the second bitstreamdecoding unit 206 and the coding information from the coding informationstorage memory 204, and supplies the predicted picture signal to thedecoded picture signal superimposing unit 208.

Next, a method of deriving a predictive quantization parameter that iscommonly performed in various units 120 surrounded by the thick dottedline in the moving picture coding device 100, in particular, thepredictive quantization parameter deriving unit 114 and various units220 surrounded by the thick dotted line in the moving picture decodingdevice 200, in particular, the predictive quantization parameterderiving unit 205 will be described in detail.

First, the operation of each unit of the various units 120 surrounded bythe thick dotted line in the moving picture coding device 100 of thepresent embodiment will be described. In the various units 120, with apixel block having a predetermined pixel size unit supplied from thepicture memory 101 as a coding block, a quantization parameter forquantizing the block is determined. The quantization parameter is mainlydetermined by the algorithm of code amount control and adaptivequantization. First, the method of adaptive quantization in the activitycalculation unit 109 will be described.

Generally, a human being has a visual characteristic that the eyes aresensitive to a low-frequency component with few edges. Therefore, theactivity calculation unit 109 calculates the activity indicating thecomplexity or smoothness of a picture in units of a predetermined blocksuch that quantization is applied more finely in a flat portion, inwhich deterioration is visually easily recognized, and quantization isapplied more coarsely in a complex design portion, in which the visualrecognition of deterioration is relatively difficult.

As an example of the activity, calculation using the variance of pixelsin a coding block described in MPEG-2 TestModel5 (TM5) can be mentioned.The variance is a value indicating the degree of dispersion from theaverage of pixels that form each picture in a block. The variancedecreases as a picture in a block becomes flat (brightness changedecreases), and increases as the complexity of the design increases(brightness change increases). Therefore, the variance is used as anactivity of the block. When the pixel value in a block is expressed as p(x, y), the activity act of the block is calculated by the followingexpression.

$\begin{matrix}{{act} = {\overset{BLK}{\sum\limits_{x,y}}\;\left( {{p\left( {x,y} \right)} - {p\_ mean}} \right)^{2}}} & \left\lbrack {{Expression}\mspace{14mu} 1} \right\rbrack\end{matrix}$

Here, BLK is a total number of pixels in a coding block, and p_mean isan average value of pixels in a block.

In addition, it is also possible to calculate the absolute value of thedifferences between a pixel in a coding block and pixels, which areadjacent to the pixel in horizontal and vertical directions, and to takea total sum in the block, without being limited to the variancedescribed above. Also in this case, the total sum is small when apicture is flat and is large in a complex design portion with manyedges. Therefore, this can be used as an activity. This is calculated bythe following expression.

$\begin{matrix}{{act} = {\overset{BLK}{\sum\limits_{x,y}}\;\left( {{{{p\left( {x,y} \right)} - {p\left( {{x + 1},y} \right)}}} + \left. {{p\left( {x,y} \right)} - {p\left( {x,{y + 1}} \right.}} \right)} \right.}} & \left\lbrack {{Expression}\mspace{14mu} 2} \right\rbrack\end{matrix}$

The activity act calculated in this manner is supplied to thequantization parameter calculation unit 110.

Next, code amount control will be described. In the moving picturecoding device 100 of the present embodiment, a unit for realizing thecode amount control is not provided in particular. In the code amountcontrol, however, a quantization parameter of the coding block isdetermined based on the amount of generated code. Therefore, thefollowing explanation will be given on the assumption that thequantization parameter calculation unit 110 has the function.

The code amount control is intended to match the amount of generatedcode of a predetermined unit, such as a frame, near the target codeamount. When it is determined that the amount of generated code of thecoded block is larger than the target code amount, relatively roughquantization is applied to blocks to be coded subsequently. When it isdetermined that the amount of generated code of the coded block issmaller than the target code amount, relatively fine quantization isapplied to blocks to be coded subsequently.

The algorithm of the specific code amount control will be described withreference to FIG. 3.

First, a target code amount (T) is determined for each frame. Ingeneral, T is determined such that the relationship of I picture>Ppicture>reference B picture>non-reference B picture is satisfied. Forexample, when the target bit rate of a moving picture is 5 Mbps and thenumber of I pictures per second, the number of P pictures per second,the number of reference B pictures per second, and the number ofnon-reference B pictures per second are 1, 3, 11, and 15, respectively,assuming that the target code amount according to the picture type isTi, Tp, Tbr, and Tb, Ti=400 kbit, Tp=300 kbit, Tbr=200 kbit, and Tb=100kbit are set in order to control the target code amount so that theratio of Ti:Tp:Tbr:Tb=4:3:2:1 is satisfied. However, the assigned codeamount according to the picture type does not influence the essence ofthe present invention.

Next, code amount control in a frame will be described. Assuming thatthe number of blocks that are units to determine the quantizationparameter is N, a generated code amount is B, and a difference bit fromthe target code amount is D, the following expression is satisfied.

$\begin{matrix}{{D(j)} = {{D(0)} + {B\left( {j - 1} \right)} - \frac{T\left( {j - 1} \right)}{N}}} & \left\lbrack {{Expression}\mspace{14mu} 3} \right\rbrack\end{matrix}$

Here, j is a coding sequence count number of a coding block. D(0) is aninitial value of a target code amount difference.

A quantization parameter bQP by the code amount control is determined asfollows.bQP(j)=D(j)×r  [Expression 4]

Here, r is a proportionality coefficient to convert a target code amountdifference into a quantization parameter. The proportionalitycoefficient r is determined according to the available quantizationparameter.

The quantization parameter calculation unit 110 changes the quantizationparameter of the coding block calculated by the code amount control,using the activity act calculated for each coding block by the activitycalculation unit 109. Since the quantization parameter is calculated foreach coding block, the quantization parameter will be expressed as bQPhereinbelow by omitting the coding sequence count number of thequantization parameter by the code amount control.

The quantization parameter calculation unit 110 records an averageactivity in a frame coded last as avg_act, and calculates anormalization activity Nact of a coding block using the followingexpression.

$\begin{matrix}{{Nact} = \frac{{2 \times {act}} + {avg\_ act}}{{act} + {2 \times {avg\_ act}}}} & \left\lbrack {{Expression}\mspace{14mu} 5} \right\rbrack\end{matrix}$

Here, the coefficient 2 in the above expression is a value indicatingthe dynamic range of the quantization parameter, and the normalizationactivity Nact having a range of 0.5 to 2.0 is calculated.

In addition, for avg_act, an activity may be calculated in advance forall blocks in a frame before the coding process, and the average valuemay be set as avg_act. In addition, avc_act may be stored in the codinginformation storage memory 113, and the quantization parametercalculation unit 110 may derive avg_act from the coding informationstorage memory 113 when necessary.

By multiplying the calculated normalization activity Nact by thequantization parameter bQP as a reference as in the followingexpression, a quantization parameter QP of the coding block is obtained.QP=Nact×bQP  [Expression 6]

In addition, although bQP is a quantization parameter of a block unitcalculated by the code amount control as described above, it is alsopossible to use a quantization parameter representing a slice or a frameincluding a coding block as a fixed value. In addition, an averagequantization parameter of a frame coded last may be used, and thecalculation method is not limited in particular in the presentembodiment.

The quantization parameter of the coding block calculated in this manneris supplied to the coding information storage memory 113 and thedifferential quantization parameter generation unit 111.

In the coding information storage memory 113, not only the quantizationparameter calculated by the quantization parameter calculation unit 110and the quantization parameter of the past coding block that is alreadycoded but also coding information, such as a motion vector or aprediction mode to be coded, of the coding block, is stored. Each unitderives the coding information when necessary.

The predictive quantization parameter deriving unit 114 derives apredictive quantization parameter for coding and transmitting thequantization parameter of a coding block efficiently using the codinginformation or quantization parameters of neighboring coded blocksaround a block to be coded from the coding information storage memory113.

In order to code and transmit a quantization parameter efficiently, itis more efficient to take a difference (differential quantizationparameter) between the quantization parameter and a quantizationparameter of a coded block and code and transmit the differentialquantization parameter rather than coding the quantization parameter asit is. From the point of view of code amount control, assuming that thequantization parameter of the last coded block in the coding sequence isa predictive quantization parameter, the value of the differentialquantization parameter to be transmitted is reduced, and the code amountis reduced. On the other hand, from the point of view of adaptivequantization, since a coding block and neighboring blocks around thecoding block are adjacent to each other, the designs are the same oralike in many cases. For this reason, the activity of a block adjacentto the coding block has a value close to the activity of the codingblock. Accordingly, assuming that the quantization parameter of theneighboring block is a predictive quantization parameter, the value ofthe differential quantization parameter to be transmitted is reduced,and the code amount is reduced. For this reason, in H.264, as shown inFIG. 4, a method of coding and transmitting the differentialquantization parameter is adopted in which a unit for transmission ofthe quantization parameter is fixed to a macroblock (a group of 16×16pixels), a quantization parameter of a block adjacent to the left codedbefore or immediately before a coding block in raster scan order is setas a predictive quantization parameter, and a difference between thequantization parameter of the coding block and the predictivequantization parameter is taken. That is, H.264 is optimized forquantization parameter prediction when the code amount control isassumed. In H.264, however, hierarchical tree coding, which will bedescribed later, is not performed. In this case, except for the left endof the picture, the last block is a left block. Accordingly, since aquantization parameter of a neighboring block is used as a predictivequantization parameter, it can also be said that H.264 is approximatelyoptimized for the prediction when the adaptive quantization is assumed.For this reason, as in H.264, in the case of a configuration in which aunit for transmission of the quantization parameter is fixed andhierarchical tree coding is not performed, it can be said that the lastcoded block is an optimal block for quantization parameter prediction.

However, when hierarchical tree coding is performed, using thequantization parameter of the last block as a predictive quantizationparameter as in H.264 is optimal for the code amount control. However,when transmitting the quantization parameter using the adaptivequantization, an optimal predictive value is not obtained. Therefore, aproblem that the code amount of the differential quantization parameteris increased occurs.

Here, the hierarchical tree coding will be described. The hierarchicaltree coding referred to herein is to determine the depth indicating thecoding unit in units of a tree block (here, 64×64 blocks) and performcoding in units of a coding block using the determined depth. In thismanner, since it is possible to determine the optimal depth depending onthe definition of the picture, it is possible to greatly improve thecoding efficiency.

FIG. 5 shows the coding sequence of the hierarchical tree codingstructure. As shown in the upper diagram of FIG. 5, the screen isequally partitioned into square units of the same predetermined size.This unit is called a tree block, and is set as a basic unit of addressmanagement for specifying a coding/decoding block in a picture.According to the texture or the like in a picture, in order to optimizethe coding process, the tree block can be made to be blocks with asmaller block size by hierarchically partitioning the tree block intofour blocks when necessary. The hierarchical block structure obtained bypartitioning a block into small blocks as described above is called atree block structure, and the partitioned block is called a coding block(CU: Coding Unit) and is set as a basic processing unit when performingcoding and decoding. The lower diagram of FIG. 5 is an example in whicha tree block is partitioned into four CUs and each of the three CUsexcluding the lower left CU is further partitioned into four parts. Inthe present embodiment, it is assumed that the quantization parameter isset in units of a CU. The tree block is also a coding block of themaximum size.

In such hierarchical tree coding, since the coding sequence is differentfrom the raster scan order (left to right) as in H.264 of FIG. 4, thequantization parameter of the last coded block and the quantizationparameter of the left neighboring block may be different. For example,as an example of the hierarchical tree coding, as shown in FIG. 6, anupper left coding block (hatched rectangle in FIG. 6) in a tree block tobe coded uses a quantization parameter of a lower right coded block(gray rectangle in FIG. 6) coded last, among partitioned blocks of atree block adjacent to the left, for prediction. In addition, as shownin FIG. 7, a lower left coding block (hatched rectangle in FIG. 7) in atree block to be coded uses a quantization parameter of a block (grayrectangle in FIG. 7), which is partitioned in the same tree block and iscoded last, for prediction. For this reason, simply by predicting thequantization parameter from the last coded block, prediction optimizedfor the code amount control can be performed, but prediction suitablefor the adaptive quantization cannot be performed since the distancebetween blocks is increased due to partition. Therefore, since the codeamount of the differential quantization parameter is increased, codingefficiency is reduced.

In addition, if the quantization parameter of a block adjacent to theleft is uniformly set as a predictive quantization parameter as inH.264, for example, in the case shown in FIG. 8, this affects eachquantization parameter since the design of the picture of the codingblock is different from the design of the picture of the leftneighboring block. In this case, since the differential quantizationparameter becomes a large value, the amount of generated code is alsoincreased. Therefore, there is a possibility that efficient coding andtransmission cannot be performed.

As a solution, a method can be considered in which the predictivequantization parameter is not selected uniformly from the leftneighboring block but the quantization parameter of an upper neighboringcoded block is set as a predictive quantization parameter.

However, when predicting the quantization parameter from the upperneighboring block beyond the tree block boundary, if the calculation ofthe quantization parameter based on the code amount control is takeninto consideration, the upper neighboring block is a quantizationparameter that is calculated at the considerably past point in time fromthe coding block. In this case, as shown in FIG. 9, the relationshipbetween the processing order i of the upper neighboring block and theprocessing order j of the coding block is i<<j in terms of coding order,even if the upper neighboring block and the coding block are adjacent toeach other in a picture. Therefore, from the point of view of codeamount control, it cannot be said that the correlation between thequantization parameter of the coding block and the quantizationparameter of the upper neighboring block is necessarily high.

When performing parallel processing for each tree block slice toincrease the speed of the decoding process, the quantization parameterof the upper neighboring block beyond the tree block boundary cannot beused for prediction. In this case, efficient coding and transmission maynot be performed by referring to the upper neighboring block beyond thetree block boundary.

Therefore, the predictive quantization parameter deriving unit 114according to the embodiment of the present invention derives an optimalpredictive quantization parameter from neighboring coded blocks withoutusing neighboring blocks of the tree block adjacent to the top of thecoding block for quantization parameter prediction, thereby improvingthe efficiency of the amount of generated code of the differentialquantization parameter.

The predictive quantization parameter deriving unit 114 derives apredictive quantization parameter from the position of a coding blockand the quantization parameters of neighboring coded blocks around thecoding block, which are supplied from the coding information storagememory 113. The details of the predictive quantization parameterderiving unit 114 will be described in embodiments below.

The differential quantization parameter generation unit 111 calculates adifferential quantization parameter by subtracting the predictivequantization parameter derived by the predictive quantization parameterderiving unit 114 from the quantization parameter of the coding blockcalculated by the quantization parameter calculation unit 110. Also atthe time of decoding, the predictive quantization parameter is derivedin the same manner as at the time of coding from the neighboring decodedblock. Therefore, by setting the differential coding parameter as acoding target, it is possible to reduce the code amount of thequantization parameter without inconsistency in coding and decoding. Thecalculated differential quantization parameter is supplied to the firstbitstream generation unit 112.

The first bitstream generation unit 112 generates a first bitstream byentropy-coding the differential quantization parameter calculated by thedifferential quantization parameter generation unit 111 according to thedefined syntax rules. FIG. 10 shows an example of a coding translationtable used for the entropy coding of the differential quantizationparameter. This is a table called the signed exponential-Golomb coding,and a shorter code length is given as the absolute value of thedifferential quantization parameter becomes smaller. In general, when apicture is partitioned into blocks, neighboring blocks have similarpictures. Therefore, the activities are close values, and calculatedquantization parameters of the blocks are also close values. For thisreason, 0 is the highest frequency of occurrence of the differentialquantization parameter, and the frequency of occurrence of thedifferential quantization parameter tends to decrease as the absolutevalue increases. Also in the table shown in FIG. 10, a short code lengthis assigned for the value of high frequency of occurrence reflecting thefeatures. If the predictive quantization parameter is predicted to be avalue close to the quantization parameter of a coding block, adifferential quantization parameter close to 0 is calculated.Accordingly, it is possible to suppress the amount of generated code.The first bitstream generation unit 112 extracts a code bitstreamcorresponding to the differential quantization parameter from the tableshown in FIG. 10, and supplies the code bitstream to the bitstreammultiplexing unit 115.

The operation of each unit of the various units 220 surrounded by thethick dotted line in the moving picture decoding device 200corresponding to the moving picture coding device 100 of the presentembodiment described above will be described.

In the various units 220, the differential quantization parameterdecoded by the first bitstream decoding unit 202 is first supplied tothe quantization parameter generation unit 203. In addition, codinginformation other than the differential quantization parameter is storedin the coding information storage memory 204 when necessary.

The quantization parameter generation unit 203 calculates a quantizationparameter of a decoding block by adding the differential quantizationparameter supplied from the first bit stream decoding unit 202 and thequantization parameter derived by the predictive quantization parameterderiving unit 205, and supplies the quantization parameter to theinverse quantization and inverse orthogonal transform unit 207 and thecoding information storage memory 204.

The coding information storage memory 204 stores the quantizationparameter of the decoded block. In addition, not only the codinginformation of the block unit decoded by the first bitstream decodingunit 202 but also coding information generated in units of a picture ora slice is stored when necessary.

The predictive quantization parameter deriving unit 205 derives apredictive quantization parameter using the coding information or thequantization parameters of decoded blocks adjacent to the decodingblock, and supplies the predictive quantization parameter to thequantization parameter generation unit 203. The quantization parametercalculated by the quantization parameter generation unit 203 is storedin the coding information storage memory 204. When deriving a predictivequantization parameter of the next decoding block, neighboring decodedblocks located around the decoding block are determined, and thequantization parameters of the neighboring blocks are derived from thecoding information storage memory 204. The quantization parameters ofthe neighboring decoded blocks obtained in this manner are the same asthe quantization parameters that the predictive quantization parameterderiving unit 114 of the moving picture coding device 100 derives fromthe coding information storage memory 113. Since the predictivequantization parameter deriving unit 205 has the same function as thepredictive quantization parameter deriving unit 114 of the movingpicture coding device 100, the same predictive quantization parameter asat the time of coding is derived if the quantization parameters ofneighboring blocks supplied from the coding information storage memory204 are the same.

In the predictive quantization parameter deriving unit 205, the sameprocess is performed except for changing the neighboring coded blocks tothe neighboring decoded blocks. Accordingly, explanation of quantizationparameter prediction will be omitted.

Thus, the predictive quantization parameter derived on the coding sideis also derived consistently on the decoding side.

In the present embodiment, when deriving a predictive quantizationparameter, neighboring blocks referred to by the predictive quantizationparameter deriving unit 114 of the moving picture coding device 100 arecoded blocks, and neighboring blocks referred to by the predictivequantization parameter deriving unit 205 of the moving picture decodingdevice 200 are decoded blocks. The coded block referred to on the codingside is a block that is locally decoded for the next coding in thecoding, and is the same as the decoded block referred to on the decodingside. Therefore, the functions of the predictive quantization parameterderiving units 114 and 205 are the same, and the predictive quantizationparameters derived by the predictive quantization parameter derivingunits 114 and 205 are also the same. In the following embodiments, thederivation of a predictive quantization parameter on the coding sidewill be described as a common function without distinction of coding anddecoding.

Hereinafter, the details of a method of deriving a predictivequantization parameter performed in common by the predictivequantization parameter deriving units 114 and 205 will be described.

[First Embodiment]

The detailed operation of the predictive quantization parameter derivingunit 114 in a first embodiment will be described. In the firstembodiment, when a coding block to be coded is adjacent to an upper treeblock, using the quantization parameter of a coded block in the uppertree block, which is the considerably past block in coding order, forprediction is prohibited. However, the quantization parameter of a codedblock of a tree block adjacent to the left, which is the past block incoding order but is not the past block as the upper tree block, is usedfor prediction.

As shown in FIG. 11, coding is performed in raster scan order from theupper left to the lower right of the screen in units of a tree block. Atree block to be coded is shown as a hatched rectangle in FIG. 11, and acoded tree block is shown as a gray portion in FIG. 11. Sincehierarchical tree coding is performed according to the coding conditionsin a tree block, a coding block is partitioned into parts having a sizesmaller than or equal to the tree block. Accordingly, a coding block ina tree block to be coded and a coded block in the upper tree block areadjacent to each other but are largely separated from each other in thecoding sequence. For this reason, since the quantization parametercalculated by the code amount control is calculated in the codingsequence, it cannot be said that the quantization parameter of thecoding block and the quantization parameter of the coded block in theupper tree block have close values. Therefore, in the first embodiment,the upper tree block is not used for quantization parameter prediction,and only the left tree block that is close in the coding sequence isused.

In addition, as shown in FIG. 12, assuming that the hatched rectangleshown in FIG. 12 is a coding block in a tree block, the thin solid lineindicates a coding sequence, and blocks coded before the coding blockare shown as gray portions in FIG. 12. In the same tree block, a codingblock and a coded block are not separated from each other in terms ofthe coding sequence, and the designs are the same or alike in manycases. Therefore, in the same tree block, it is effective to use thequantization parameter of the upper coded block for prediction. In thefirst embodiment, neighboring coded blocks are preferentially used forprediction rather than coded blocks that are close in the codingsequence.

In FIG. 13, the direction of a coded block referred to by each codingblock in a partitioned tree block is shown by the thick arrow. In FIG.13, the thin solid line indicates a coding sequence, and a coding blockgives priority to a neighboring coded block over a coded block that isclose to the coding block in the coding sequence. BLK0 and BLK1 that arelocated at the upper end of the tree block in FIG. 13 border the uppertree block. Accordingly, the quantization parameter of the coded blockadjacent to the top is not used for prediction, and only thequantization parameter of the coded block adjacent to the left is used.In BLK2 and BLK3, coded blocks adjacent to the top are present in thesame tree block. Accordingly, the quantization parameter of the uppercoded block and the quantization parameter of the left coded block areused for prediction.

FIG. 14 shows the arrangement of a coding block and neighboring codedblocks that are defined in the present embodiment. In the presentembodiment, for convenience of explanation, the respective blocks areshown to have the same size. However, for example, even when performingoptimal motion prediction by changing the block size in motionprediction or the like, the above can be realized by setting the upperleft point of a coding block as a reference and selecting blocksadjacent to the coding block.

The symbol QPx (x=L, A, AL) described in FIG. 14 indicates aquantization parameter of a neighboring coded block. The predictivequantization parameter deriving unit 114 determines a predictivequantization parameter according to the presence of quantizationparameters of the left and upper neighboring blocks shown in FIG. 14.

The operation of the predictive quantization parameter deriving unit 114will be described. FIG. 15 is a flowchart showing the operation of thepredictive quantization parameter deriving unit 114 in the firstembodiment.

First, position information of a coding block to be coded is derived(S100). For the position information of the coding block, the upper leftposition of a tree block including the coding block is calculated withthe upper left of the screen as a base point, and the position of thecoding block is calculated from the upper left position of the treeblock. Then, it is determined whether or not the coding block isadjacent to the upper tree block (S101).

When the coding block is adjacent to the upper tree block (Yes in S101),that is, when the coding block is located at the upper end of the treeblock, the upper neighboring block is included in the upper tree block.Accordingly, since the upper neighboring block is beyond the tree blockboundary, the upper neighboring block is not used for quantizationparameter prediction. Here, noting that the quantization parameteralways has a positive value, a quantization parameter QPA of the upperneighboring block is set to 0 when the upper neighboring block is notused (S102).

On the other hand, when the coding block is not adjacent to the uppertree block (No in S101), that is, when the upper neighboring block islocated in the same tree block as the coding block, the storage regionstored in the coding information storage memory 113 is accessed from thereference position information of the upper left of the coding block,and the quantization parameter QPA of the upper neighboring block issupplied to the predictive quantization parameter deriving unit 114(S103).

Then, it is determined whether or not there is a coded block adjacent tothe left of the coding block (S104). When there is a block adjacent tothe left (Yes in S104), the storage region stored in the codinginformation storage memory 113 is accessed from the reference positioninformation of the upper left of the coding block, and a quantizationparameter QPL of the left neighboring block is supplied to thepredictive quantization parameter deriving unit 114 (S105). When thereis no left neighboring block (No in S104), the quantization parameterQPL of the left neighboring block is set to 0 (S106).

Then, it is determined whether or not both the quantization parametersof the left and upper neighboring blocks are positive (S107). When boththe quantization parameters of the left and upper neighboring blocks arepositive (Yes in S107), both the left and upper neighboring blocks arepresent. Accordingly, the average value of the quantization parametersof the left and upper neighboring blocks is set as a predictivequantization parameter (S111). On the other hand, when neither of thequantization parameters of the left and upper neighboring blocks ispositive (No in S107), that is, when the quantization parameter of atleast one of the left and upper neighboring blocks is 0, at least one ofthe left and upper neighboring blocks is not present. In this case, theprocess proceeds to S108.

Then, it is determined whether or not both the quantization parametersof the left and upper neighboring blocks are 0 (S108). That is, whenboth the quantization parameters of the left and upper neighboringblocks are 0, neither of the left and upper neighboring blocks ispresent. Accordingly, it is not possible to refer to the quantizationparameters of the left and upper neighboring blocks as predictivequantization parameters. Therefore, a quantization parameter (prevQP) ofa block coded before or immediately before a coding block to be coded,is set as a predictive quantization parameter. In addition, when theblock at the upper left end of a picture is a coding block, left andupper neighboring blocks and a block coded before or immediately beforethe coding block to be coded are not present. Accordingly, thequantization parameter of a picture or a slice is set as a predictivequantization parameter (S109). When either the left neighboring block orthe upper neighboring block is present, one of the quantizationparameters that is positive is set as a predictive quantizationparameter (S110). The predictive quantization parameter calculated inthis manner is supplied to the differential quantization parametergeneration unit 111.

In addition, the predictive quantization parameter deriving unit 114 canalso determine the predictive quantization parameter from thequantization parameters of the left neighboring block, the upperneighboring block, and the upper left neighboring block around thecoding block shown in FIG. 14. The difference from the method describedabove is that a weighting is given to the quantization parameters of theleft and upper neighboring blocks based on the determination of apredictive quantization parameter and the derived value is set as apredictive quantization parameter.

FIG. 16 is a flowchart showing the operation of the predictivequantization parameter deriving unit 114. Since the process of S200 toS210 in the flowchart shown in FIG. 16 is the same as that of S100 toS110 in the flowchart shown in FIG. 15 described above, explanationthereof will be omitted. Accordingly, the following explanation will begiven from the case where both the quantization parameters of the leftand upper neighboring blocks are positive (Yes in S207) in determinationregarding whether or not both the quantization parameters of the leftand upper neighboring blocks are positive (S207). When both thequantization parameters of the left and upper neighboring blocks arepositive, both the left and upper neighboring blocks are present. Inthis case, an upper left neighboring block is also present. Accordingly,the storage region stored in the coding information storage memory 113is accessed from the reference position information of the upper left ofthe coding block, and a quantization parameter QPAL of the upper leftneighboring block is supplied to the predictive quantization parameterderiving unit 114 (S211).

Then, it is determined whether or not the quantization parameter QPL ofthe left neighboring block matches the quantization parameter QPAL ofthe upper left neighboring block (S212). When QPL and QPAL match eachother, assuming that the weighting factor of the quantization parameterof the upper neighboring block is FA and the weighting factor of thequantization parameter of the left neighboring block is FL, a weightingfor the quantization parameter of the upper neighboring block is set tobe large so that FA>FL is satisfied (S213). For example, FA is set to 3,and FL is set to 1. In this case, since the arrangement of thequantization parameter shown in FIG. 8 can be considered as an example,it can be said that it is appropriate to set the weighting of thequantization parameter of the upper neighboring block to be large. Inaddition, even if QPA matches QPL and QPAL, there is no problem sincethe quantization parameters of all neighboring blocks are the same. WhenQPL and QPAL do not match each other, the process proceeds to S214 todetermine whether or not QPA and QPAL match each other (S214). When QPAand QPAL match each other, a weighting for the quantization parameter ofthe left neighboring block is set to be large so that FA<FL is satisfied(S215). For example, FA is set to 1, and FL is set to 3. When QPA andQPAL do not match each other, FA and FL are set as the same weighting,and the weighting for the quantization parameters of the left and upperneighboring blocks is equalized (S216). In this case, since allquantization parameters of the left neighboring block, the upperneighboring block, and the upper left neighboring block are different,it is not possible to perform sufficient condition determination to setthe weighting of one of QPL and QPA to be large. Therefore, the averageof QPL and QPA is set as a predictive quantization parameter, and thesame determination value is set. For example, FA is set to 2, and FL isset to 2. A predictive quantization parameter predQP is derived from thedetermined weighting factor and each quantization parameter using thefollowing expression (S217).

$\begin{matrix}{{{pred}\;{QP}} = \frac{{{FA} \times {QPA}} + {{FL} \times {QPL}} + 2}{4}} & \left\lbrack {{Expression}\mspace{14mu} 7} \right\rbrack\end{matrix}$

Here, the denominator of the above expression is FA+FL, and 2 of thenumerator is a value of (FA+FL)/2 added for rounding off. The predictivequantization parameter derived in this manner is supplied to thedifferential quantization parameter generation unit 111.

Instead of the determination regarding whether or not QPL and QPAL arethe same in S212 and the determination regarding whether or not QPA andQPAL are the same in S214 that are shown in FIG. 16, a left or upperquantization parameter can also be selected as a predictive quantizationparameter by setting the absolute value of the difference between thequantization parameter of the left neighboring block and thequantization parameter of the upper left neighboring block to ΔL and theabsolute value of the difference between the quantization parameter ofthe upper neighboring block and the quantization parameter of the upperleft neighboring block to ΔA and comparing ΔL and ΔA with each other.

In a coding block and neighboring coded blocks around the coding block,ΔL indicates the absolute value of the difference between thequantization parameter of the left neighboring block and thequantization parameter of the upper left neighboring block, and ΔAindicates the absolute value of the difference between the quantizationparameter of the upper neighboring block and the quantization parameterof the upper left neighboring block. ΔL and ΔA are expressed as thefollowing expressions.ΔL=|QPL−QPAL|  [Expression 8]ΔA=|QPA−QPAL|  [Expression 9]

When ΔA is larger than ΔL, the difference between QPA and QPAL is large.In this case, it is estimated that the smoothness or complexity ofpictures between the upper neighboring block and the upper leftneighboring block is different from that between the left neighboringblock and the upper left neighboring block (change is large).Accordingly, in the coding block and the neighboring coded blocks aroundthe coding block, it is thought that a quantization parameter differenceoccurs between two left blocks (a left neighboring block and an upperleft neighboring block) and two right blocks (a coding block and anupper neighboring block). For this reason, it is determined that thequantization parameter of the coding block is closer to the quantizationparameter of the upper neighboring block than to the quantizationparameter of the left neighboring block.

In the case of a decoding process, equivalent processing is realized bychanging the reference numeral of the predictive quantization parameterderiving unit from 114 to 205 and the reference numeral of the codinginformation storage memory from 113 to 204 and changing the outputdestination of the predictive quantization parameter from thedifferential quantization parameter generation unit 111 to thequantization parameter generation unit 203.

[Second Embodiment]

The operations of the predictive quantization parameter deriving units114 and 205 in a second embodiment will be described. Here, a codingprocess will be described. In the case of a decoding process, however,equivalent processing is realized by changing coding to decoding,changing the reference numeral of the predictive quantization parameterderiving unit from 114 to 205 and the reference numeral of the codinginformation storage memory from 113 to 204, and changing the outputdestination of the predictive quantization parameter from thedifferential quantization parameter generation unit 111 to thequantization parameter generation unit 203. In the second embodiment,quantization parameters of left and upper coded blocks adjacent to thecoding block to be coded are used for prediction, as in the firstembodiment. On the other hand, the difference from the first embodimentis that, when the coding block is adjacent to the left tree block, usingthe quantization parameter of a coded block in the left tree block forprediction is prohibited, in the same manner as when the coding block isadjacent to the upper tree block. The reason is as follows. Thecalculation of the quantization parameter of the coding block isperformed based on the coding sequence of the coding control.Accordingly, coding turns between tree blocks become away from eachother compared with coding turns within a tree block. In this case, evenif coding blocks are adjacent to each other between the tree blocks, thequantization parameters of coding blocks calculated by the code amountcontrol do not necessarily become close values. Accordingly, they maynot be suitable as predictive quantization parameters. Therefore, in thesecond embodiment, when a coding block to be coded or decoded isadjacent to the left or upper tree block, the quantization parameter ofa coded block in the left or upper tree block is not used forprediction, and is used after being replaced with the quantizationparameter of a block coded before or immediately before the coding blockto be coded in coding sequence.

In FIG. 17, the direction of a coded block referred to by each codingblock in a partitioned tree block is shown by the thick arrow. In FIG.17, the thin solid line indicates a coding sequence, and a coding blockuses a quantization parameter of a neighboring coded block in a treeblock including the coding block in principle. BLK0 located at the upperend of the tree block in FIG. 18 borders left and upper tree blocks.Accordingly, the quantization parameters of blocks coded before orimmediately before the coding block to be coded are used for predictionafter being replaced with the quantization parameters of coded blocksadjacent to the left and top. BLK1 borders the upper tree block.Accordingly, the quantization parameter of the coded block adjacent tothe top is not used for prediction, and is replaced with thequantization parameter of a block coded before or immediately before thecoding block to be coded. This quantization parameter is used forprediction together with the quantization parameter of a coded blockadjacent to the left. BLK2 borders the left tree block. Accordingly, thequantization parameter of the coded block adjacent to the left is notused for prediction, and is replaced with the quantization parameter ofa block coded before or immediately before the coding block to be coded.This quantization parameter is used for prediction together with thequantization parameter of a coded block adjacent to the top. In BLK3,coded blocks adjacent to the left and top are present in the same treeblock. Accordingly, the quantization parameter of the upper coded blockand the quantization parameter of the left coded block are used forprediction.

FIG. 18 is a flowchart showing the operation of the predictivequantization parameter deriving unit 114 in the second embodiment.

First, position information of a coding block to be coded is derived(S300). For the position information of the coding block, the upper leftposition of a tree block including the coding block is calculated withthe upper left of the screen as a base point, and the position of thecoding block is calculated from the upper left position of the treeblock. Then, it is determined whether or not the coding block isadjacent to the upper tree block (S301). When the coding block isadjacent to the upper tree block (Yes in S301), that is, when the codingblock is located at the upper end of the tree block, the upperneighboring block is included in the upper tree block. Accordingly,since the upper neighboring block is beyond the tree block boundary, theupper neighboring block is not used for quantization parameterprediction, and the quantization parameter prevQP of a coding blockcoded before or immediately before the coding block to be coded is setas QPA (S302).

On the other hand, when the coding block is not adjacent to the uppertree block (No in S301), that is, when the upper neighboring block islocated in the same tree block as the coding block, the storage regionstored in the coding information storage memory 113 is accessed from thereference position information of the upper left of the coding block,and the quantization parameter QPA of the upper neighboring block issupplied to the predictive quantization parameter deriving unit 114(S303).

Then, it is determined whether or not the coding block is adjacent tothe left tree block (S304). When the coding block is adjacent to theleft tree block (Yes in S304), that is, when the coding block is locatedat the left end of the tree block, the left neighboring block isincluded in the left tree block. Accordingly, since the left neighboringblock is beyond the tree block boundary, the left neighboring block isnot used for quantization parameter prediction, and the quantizationparameter prevQP of a coding block coded before or immediately beforethe coding block to be coded is set as QPL (S305).

On the other hand, when the coding block is not adjacent to the lefttree block (No in S304), that is, when the left neighboring block islocated in the same tree block as the coding block, the storage regionstored in the coding information storage memory 113 is accessed from thereference position information of the upper left of the coding block,and the quantization parameter QPL of the left neighboring block issupplied to the predictive quantization parameter deriving unit 114(S306). Finally, the average value of the quantization parameters of theleft and upper neighboring blocks is set as a predictive quantizationparameter (S307). The predictive quantization parameter calculated inthis manner is supplied to the differential quantization parametergeneration unit 111.

In the second embodiment, when the left and upper neighboring blocks arebeyond the tree block boundary, each quantization parameter serves as aquantization parameter of a coding block coded before or immediatelybefore the coding block to be coded. Therefore, since there isnecessarily a non-zero value, it is possible to reduce the amount ofprocessing for determining the value of the quantization parameter morethan in the first embodiment.

[Third Embodiment]

The operations of the predictive quantization parameter deriving units114 and 205 in a third embodiment will be described. Here, a codingprocess will be described. In the case of a decoding process, however,equivalent processing is realized by changing coding to decoding,changing the reference numeral of the predictive quantization parameterderiving unit from 114 to 205 and the reference numeral of the codinginformation storage memory from 113 to 204, and changing the outputdestination of the predictive quantization parameter from thedifferential quantization parameter generation unit 111 to thequantization parameter generation unit 203. The difference from thefirst embodiment is that, when a coding block to be coded or decoded isadjacent to the left tree block, using the quantization parameter of acoded block in the left tree block for prediction is prohibited, in thesame manner as when the coding block is adjacent to the upper treeblock. That is, using the quantization parameter of a coded block beyondthe tree block boundary for prediction is limited to only when in a treeblock, a coding block to be first coded in the coding sequence uses thequantization parameters of blocks coded before or immediately before acoding block to be coded.

In FIG. 19, the direction of a coded block referred to by each codingblock in a partitioned tree block is shown by the thick arrow. In FIG.19, the thin solid line indicates a coding sequence, and a coding blockuses a quantization parameter of a neighboring coded block in a treeblock including the coding block.

Since BLK0 located at the upper end of the tree block in FIG. 19 bordersleft and upper tree blocks, only the quantization parameters of blockscoded before or immediately before the coding block to be coded are usedfor prediction. BLK1 borders the upper tree block. Accordingly, thequantization parameter of the coded block adjacent to the top is notused for prediction, and only the quantization parameter of the codedblock adjacent to the left is used for prediction. BLK2 borders the lefttree block. Accordingly, the quantization parameter of the coded blockadjacent to the left is not used for prediction, and only thequantization parameter of the coded block adjacent to the top is usedfor prediction. In BLK3, coded blocks adjacent to the left and top arepresent in the same tree block. Accordingly, the quantization parameterof the upper coded block and the quantization parameter of the leftcoded block are used for prediction.

FIG. 20 is a flowchart showing the operation of the predictivequantization parameter deriving unit 114 in the third embodiment. SinceS400 to S403 and S407 to S411 in the flowchart shown in FIG. 20 are thesame as S100 to S103 and S107 to S111 shown in FIG. 15 in the firstembodiment, explanation thereof will be omitted, and only the differencefrom S404 after it is determined whether or not the coding block isadjacent to the upper tree block will be described.

After determining whether or not the coding block and the upper treeblock are adjacent to each other, it is determined whether or not thecoding block is adjacent to the left tree block (S404). When the codingblock is adjacent to the left tree block (Yes in S404), that is, whenthe coding block is located at the left end of the tree block, the leftneighboring block is included in the left tree block. Accordingly, sincethe left neighboring block is beyond the tree block boundary, the leftneighboring block is not used for quantization parameter prediction.Here, noting that the quantization parameter always has a positivevalue, the quantization parameter QPL of the left neighboring block isset to 0 when the left neighboring block is not used (S405). On theother hand, when the coding block is not adjacent to the left tree block(No in S404), that is, when the left neighboring block is located in thesame tree block as the coding block, the storage region stored in thecoding information storage memory 113 is accessed from the referenceposition information of the upper left of the coding block, and thequantization parameter QPL of the left neighboring block is supplied tothe predictive quantization parameter deriving unit 114 (S406). Apredictive quantization parameter is derived from the quantizationparameters of the left and upper neighboring blocks derived in thismanner, and the predictive quantization parameter is supplied to thedifferential quantization parameter generation unit 111.

[Fourth Embodiment]

The operations of the predictive quantization parameter deriving units114 and 205 in a fourth embodiment will be described. Here, a codingprocess will be described. In the case of a decoding process, however,equivalent processing is realized by changing coding to decoding,changing the reference numeral of the predictive quantization parameterderiving unit from 114 to 205 and the reference numeral of the codinginformation storage memory from 113 to 204, and changing the outputdestination of the predictive quantization parameter from thedifferential quantization parameter generation unit 111 to thequantization parameter generation unit 203. In the fourth embodiment,when a coding block to be coded or decoded is adjacent to the left orupper tree block, using the quantization parameter of a coded block inthe left or upper tree block for prediction is prohibited. In principle,the quantization parameter of the coded block adjacent to the left isused for prediction. When a coding block adjacent to the left is notpresent or is present at a position beyond the tree block boundary, thequantization parameter of a block coded before or immediately before thecoding block to be coded is used for prediction.

In FIG. 21, the direction of a coded block referred to by each codingblock in a partitioned tree block is shown by the thick arrow. In FIG.21, the thin solid line indicates a coding sequence, and a coding blockuses a quantization parameter of a left neighboring coded block in atree block including the coding block in principle.

Since BLK0 located at the upper end of the tree block in FIG. 21 bordersleft and upper tree blocks, the quantization parameters of blocks codedbefore or immediately before the coding block to be coded are used forprediction. In BLK1 and BLK3, a coded block adjacent to the left ispresent in the same tree block. Accordingly, the quantization parameterof the left coded block is used for prediction. BLK2 borders the lefttree block. Accordingly, the quantization parameter of the coded blockadjacent to the left is not used for prediction, and the quantizationparameter of the block coded before or immediately before the codingblock to be coded is used for prediction.

FIG. 22 is a flowchart showing the operation of the predictivequantization parameter deriving unit 114 in the fourth embodiment.First, position information of a coding block to be coded is derived(S500). For the position information of the coding block, the upper leftposition of a tree block including the coding block is calculated withthe upper left of the screen as a base point, and the position of thecoding block is calculated from the upper left position of the treeblock. Then, it is determined whether or not the coding block isadjacent to the left tree block (S501). When the coding block isadjacent to the left tree block (Yes in S501), that is, when the codingblock is located at the left end of the tree block, the left neighboringblock is included in the left tree block. Accordingly, since the leftneighboring block is beyond the tree block boundary, the leftneighboring block is not used for quantization parameter prediction, andthe quantization parameter prevQP of the coding block coded before orimmediately before the coding block to be coded is set as a predictivequantization parameter (S502). On the other hand, when the coding blockis not adjacent to the left tree block (No in S501), that is, when theleft neighboring block is located in the same tree block as the codingblock, the quantization parameter QPL of the left neighboring block isderived by accessing the storage region stored in the coding informationstorage memory 113 from the reference position information of the upperleft of the coding block, and the quantization parameter QPL is set as apredictive quantization parameter (S503). The predictive quantizationparameter derived in this manner is supplied to the differentialquantization parameter generation unit 111.

In the fourth embodiment, the quantization parameter of the leftneighboring coded block of the coding block is used for prediction inprinciple. Therefore, since the determination process is simplifiedcompared with the previous embodiments, it is possible to reduce thecircuit size.

[Fifth Embodiment]

The operations of the predictive quantization parameter deriving units114 and 205 in a fifth embodiment will be described. Here, a codingprocess will be described. In the case of a decoding process, however,equivalent processing is realized by changing coding to decoding,changing the reference numeral of the predictive quantization parameterderiving unit from 114 to 205 and the reference numeral of the codinginformation storage memory from 113 to 204, and changing the outputdestination of the predictive quantization parameter from thedifferential quantization parameter generation unit 111 to thequantization parameter generation unit 203. The fifth embodiment is acombination of the first and second embodiments. When a coding block tobe coded or decoded is adjacent to the left tree block, using thequantization parameter of the coded block of the tree block adjacent tothe left for prediction is allowed. When the coding block is adjacent tothe upper tree block, using the quantization parameter of the codedblock in the upper tree block for prediction is prohibited, and thequantization parameter of the block coded before or immediately beforethe coding block to be coded is used for prediction instead of thequantization parameter of the coded block in the upper tree block.

In FIG. 23, the direction of a coded block referred to by each codingblock in a partitioned tree block is shown by the thick arrow. In FIG.23, the thin solid line indicates a coding sequence, and a coding blockto be coded gives priority to a neighboring coded block over a codedblock that is close to the coding block in the coding sequence.

BLK0 and BLK1 that are located at the upper end of the tree block inFIG. 23 border the upper tree block. Accordingly, the quantizationparameter of the coded block adjacent to the top is not used forprediction, and the quantization parameter of the block coded before orimmediately before the coding block to be coded and the quantizationparameter of the coded block adjacent to the left are used forprediction instead. In BLK2 and BLK3, coded blocks adjacent to the topare present in the same tree block. Accordingly, the quantizationparameter of the upper coded block and the quantization parameter of theleft coded block are used for prediction.

The detailed operation of the predictive quantization parameter derivingunit 114 in the fifth embodiment will be described. FIG. 24 is aflowchart showing the operation of the predictive quantization parameterderiving unit 114 in the fifth embodiment.

First, position information of a coding block to be coded is derived(S600). For the position information of the coding block, the upper leftposition of a tree block including the coding block is calculated withthe upper left of the screen as a base point, and the position of thecoding block is calculated from the upper left position of the treeblock. Then, it is determined whether or not the coding block isadjacent to the upper tree block (S601). When the coding block isadjacent to the upper tree block (Yes in S601), that is, when the codingblock is located at the upper end of the tree block, the upperneighboring block is included in the upper tree block. Accordingly,since the upper neighboring block is beyond the tree block boundary, theupper neighboring block is not used for quantization parameterprediction, and the quantization parameter prevQP of the coding blockcoded before or immediately before the coding block to be coded is setas QPA (S602).

On the other hand, when the coding block is not adjacent to the uppertree block (No in S601), that is, when the upper neighboring block islocated in the same tree block as the coding block, the storage regionstored in the coding information storage memory 113 is accessed from thereference position information of the upper left of the coding block,and the quantization parameter QPA of the upper neighboring block issupplied to the predictive quantization parameter deriving unit 114(S603).

Then, it is determined whether or not there is a coded block adjacent tothe left of the coding block (S604). When there is a block adjacent tothe left (Yes in S604), the storage region stored in the codinginformation storage memory 113 is accessed from the reference positioninformation of the upper left of the coding block, and a quantizationparameter QPL of the left neighboring block is supplied to thepredictive quantization parameter deriving unit 114 (S605). When thereis no left neighboring block (No in S604), the quantization parameterQPL of the left neighboring block is set to 0 (S606).

Then, it is determined whether or not the quantization parameter of theleft neighboring block is positive (S607). When the quantizationparameter of the left neighboring block is positive (Yes in S607), theleft neighboring block is present. Accordingly, the average value of thequantization parameters of the left and upper neighboring blocks is setas a predictive quantization parameter (S608). On the other hand, whenthe quantization parameter of the left neighboring block is not positive(No in S607), that is, when the quantization parameter of the leftneighboring block is 0, the left neighboring block is not present. Inthis case, QPA is set as a predictive quantization parameter (S609). Thepredictive quantization parameter calculated in this manner is suppliedto the differential quantization parameter generation unit 111.

According to the moving picture coding device of the embodiment, aquantization parameter coded for each block to be coded is derived bypredicting an optimal predictive quantization parameter using the codinginformation and the quantization parameters of the neighboring codedblocks, and the difference between the quantization parameter and thepredictive quantization parameter is taken to perform coding. As aresult, since the code amount of the quantization parameter is reducedwithout changing the picture quality, it is possible to improve thecoding efficiency.

In addition, since mounting as a common function for quantizationparameter prediction is possible on the coding and decoding sides, it ispossible to reduce the circuit size. This is because a neighboring codedblock becomes a block, which is locally decoded for the prediction ofthe next coding block, on the coding side, and accordingly, thedetermination of quantization parameter prediction is realized so thatinconsistency on the coding side and the decoding side is not caused.

In the above explanation, quantization parameter prediction has beenperformed with the coding block as a unit. However, if the number ofcoding blocks having a small block size is increased due to an increasein the number of partitions in a tree block, the assigned code amountper coding block in the code amount control becomes too small. In thiscase, the quantization parameter may not be calculated appropriately. Inaddition, the memory amount of the coding information storage memories113 and 204 of the moving picture coding device 100 and the movingpicture decoding device 200, in which coding information, such as thequantization parameter, is stored at the time of coding and decoding, isincreased. Therefore, a block called a quantization group may be newlyset as a unit for coding and transmission of the quantization parameter,and quantization parameter prediction may be performed in units of thisblock.

The quantization group is a block determined according to the size of atree block, and the size is expressed as a value obtained by multiplyingthe length of the side of a block of the tree block by ½ n times (n isan integer of 0 or more). That is, a value when the length of the sideof a block of the tree block is shifted to the right by n bits is thelength of the side of the quantization group. Since this value isdetermined by the block size as a tree block structure, the affinitywith a tree block is high. In addition, since a tree block ispartitioned into equal sizes, management and reading of quantizationparameters stored in the coding information storage memories 113 and 204can be simplified.

FIG. 25 shows an example in which a tree block is partitioned in a treeblock structure. The block size of a tree block is set to 64×64, and thetree block is hierarchically partitioned into four parts. Partitioninginto coding blocks of 32×32 blocks (dotted rectangle in FIG. 25),partitioning into coding blocks of 16×16 blocks (hatched rectangle inFIG. 25), and partitioning into coding blocks of 8×8 blocks (whiterectangle in FIG. 25) are performed in first to third partitioning,respectively. Here, assuming that a quantization group is a rectangleblock of 16×16, the quantization group is expressed by the thick dottedline in FIG. 25, and quantization parameter prediction is performed inunits of a quantization group.

When the size of a coding block to be coded is larger than the blocksize of the quantization group (32×32 blocks), for example, a codingblock expressed as a stippled rectangle in FIG. 25 is partitioned intofour parts by the quantization group. Although the coding block ispartitioned into four parts by the quantization group, the number ofquantization parameters of the coding block is 1. Therefore, when thesize of the coding block is larger than that of the quantization group,a differential quantization parameter after prediction of thequantization parameter of the coding block is coded and transmitted, andthe same quantization parameter is stored in memory regions of thecoding information storage memories 113 and 204 corresponding to eachquantization group partitioned into four parts. Although thequantization parameter is duplicated in the memories, it becomes easy toaccess the quantization parameters of neighboring coded blocks in thequantization parameter prediction.

When the size of the coding block to be coded is the same as the blocksize of the quantization group (16×16 blocks), quantization parameterprediction is performed in the same manner as in the case of thequantization parameter prediction in units of a coding block describedabove.

When the size of the coding block to be coded is smaller than the blocksize of the quantization group (8×8 blocks), for example, in the case ofa coding block expressed as a white rectangle in FIG. 25, four codingblocks are included in the quantization group. In this case, the codingblocks in the quantization group do not have separate quantizationparameters but have one quantization parameter in the quantizationgroup. Using this quantization parameter, each coding block is coded. Inaddition, although there is a method of calculating the average value orthe like by selecting one of the quantization parameters of four codingblocks in a quantization group as a representative value as aquantization parameter of the quantization group, the present inventionis not limited thereto in particular herein.

FIG. 26 shows an example of quantization parameter prediction when acoding block is smaller than the block size of a quantization group. Thehatched rectangle shown in FIG. 26 indicates a coding block to be coded,the gray rectangle indicates a coded block that is used in quantizationparameter prediction by the quantization group including coding blocks,and the thin solid line indicates a coding sequence. The quantizationparameter prediction is performed based on the position of a pixel atthe upper left corner of the quantization group to be processed. Whenthe quantization parameter of the coded block adjacent to the top isused for prediction, in the hatched rectangle shown in FIG. 26, theposition of a neighboring coded block including a pixel, which isadjacent to a pixel above the pixel at the upper left corner of thequantization group including a coding block to be coded, is calculated,and the quantization parameter stored in the address corresponding tothe position is called from the coding information storage memories 113and 204. Similarly, when the quantization parameter of the coded blockadjacent to the left is used for prediction, the position of a codedblock including a pixel, which is adjacent to a pixel next to the leftof the upper left pixel of the quantization group including a codingblock to be coded, is calculated, and the quantization parameterrecorded in the address corresponding to the position is called from thecoding information storage memories 113 and 204. When coded blocksadjacent to the left and top of the pixel at the upper left corner ofthe quantization group including a coding block to be coded are beyondthe tree block boundary, the quantization parameter of the coded blockthat is coded before or immediately before the coding block to be codedis used. Therefore, addresses on the memory, which are stored when thequantization parameter is stored in the coding information storagememories 113 and 204 in the coding, are temporarily stored, and thequantization parameter stored in the address corresponding to theposition before or immediately before the coding block to be coded iscalled from the coding information storage memories 113 and 204. Thus,it is possible to predict the quantization parameter of the coding blockto be coded.

As described above, quantization parameter prediction in units of aquantization group can be performed in the same manner as thequantization parameter prediction in units of a coding block describedabove.

In addition, the block size may be directly described in the headerinformation of the bit stream, or the bit shift amount indicatingwhether or not to apply ½ n times (n is an integer of 0 or more) thetree block size may be described as the block size of the quantizationgroup. For example, in the header information of a picture, a flagcu_qp_delta_enable_flag indicating whether or not to performquantization parameter prediction in units of a picture, describe thedifferential quantization parameter in a bitstream, and transmit thebitstream is defined, and a parameter diff_cu_qp_delta_depth thatdetermines the size of the quantization group is described in thebitstream only when the flag cu_qp_delta_enable_flag is valid (set to“1”). When the size of a tree block is expressed as 2 n, the size of thequantization group is expressed as the exponentiation of 2 with a valueobtained by subtracting diff_cu_qp_delta_depth from the exponent n asthe exponent. In addition, the size of the quantization group may bedetermined implicitly in coding and decoding, instead of describing thesize of the quantization group in the bitstream in particular.

The bitstream of moving pictures output from the moving picture codingdevice of the embodiment described above has a specific data format sothat decoding according to the coding method used in the embodiment ispossible, and the moving picture decoding device corresponding to themoving picture coding device can decode the bitstream of the specificdata format.

When a wired or wireless network is used to exchange a bitstream betweenthe moving picture coding device and the moving picture decoding device,the bitstream may be transmitted after being converted into a dataformat suitable for the transmission mode of communication channel. Inthis case, a moving picture transmission device, which converts thebitstream output from the moving picture coding device into coding dataof the data format suitable for the transmission mode of communicationchannel and transmits the converted bitstream through a network, and amoving picture receiving device, which receives the coding data throughthe network, restores the coding data to the bitstream, and supplied therestored bitstream to the moving picture decoding device, are provided.

The moving picture transmission device includes a memory that buffers abitstream output from the moving picture coding device, a packetizingunit that packetizes the bitstream, and a transmission unit thattransmits the packetized coding data through a network. The movingpicture receiving device includes a receiving unit that receives thepacketized coded data through a network, a memory that buffers thereceived coding data, and a packetizing unit that packetizes the codingdata to generate a bitstream and supplies the bitstream to the movingpicture decoding device.

The above processing related to coding and decoding can be realized as atransmission device, a storage device, and a receiving device usinghardware, and can also be realized by firmware stored in a ROM (readonly memory), a flash memory, or the like or by software of a computeror the like. The firmware program and the software program can beprovided in a state where the programs are recorded on a recordingmedium that can be read by a computer or the like, or can be providedfrom a server through a wired or wireless network, or can be provided asdata broadcasting, such as ground-based broadcasting or digitalsatellite broadcasting.

Up to now, the present invention has been described based on theembodiments. The embodiments are illustrative, and it will be understoodby those skilled in the art that various modifications of thecombination of the respective constituent elements or the respectiveprocesses can be made and such modifications still fall within thetechnical scope of the present invention.

[Item 1] A moving picture coding device that codes moving pictures inunits of a block by partitioning a first block, which is obtained bypartitioning each picture of the moving pictures into predeterminedsizes, into one or a plurality of second blocks, the device comprising:

a quantization parameter calculation unit configured to calculate aquantization parameter of the second block;

a predictive quantization parameter deriving unit configured to derive apredictive quantization parameter of the second block using quantizationparameters of a third block adjacent to the left of the second block anda fourth block adjacent to the top of the second block;

a differential quantization parameter generation unit configured togenerate a differential quantization parameter of the second block froma difference between the quantization parameter of the second block andthe predictive quantization parameter of the second block; and

a coding unit configured to code the differential quantization parameterof the second block, wherein

the predictive quantization parameter deriving unit sets thequantization parameter of the third block as a first quantizationparameter when the third block is at a position not beyond a boundary ofthe first block, sets a quantization parameter of a fifth block codedbefore the second block as the first quantization parameter when thethird block is at a position beyond the boundary of the first block,sets the quantization parameter of the fourth block as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, sets the quantization parameter of thefifth block as the second quantization parameter when the fourth blockis ata position beyond the boundary of the first block, and derives thepredictive quantization parameter of the second block using the firstand second quantization parameters.

[Item 2] The moving picture coding device according to item 1, wherein

the predictive quantization parameter deriving unit sets an averagevalue of the first and second quantization parameters as the predictivequantization parameter.

[Item 3] The moving picture coding device according to item 1 or 2,wherein

size information of the second block is described in a bitstream.

[Item 4] A moving picture coding device that codes moving pictures inunits of a coding block by partitioning a block, which is obtained bypartitioning each picture of the moving pictures into predeterminedsizes, into one or a plurality of coding blocks, the device comprising:

a quantization parameter calculation unit configured to calculate aquantization parameter of the coding block;

a predictive quantization parameter deriving unit configured to derive apredictive quantization parameter of the coding block using quantizationparameters of coded neighboring blocks adjacent to the coding block;

a differential quantization parameter generation unit configured togenerate a differential quantization parameter of the coding block froma difference between the quantization parameter of the coding block andthe predictive quantization parameter of the coding block; and

a coding unit configured to code the differential quantization parameterof the coding block, wherein

when a neighboring block adjacent to the coding block in a predetermineddirection of the coding block is at a position beyond a boundary of theblock having the predetermined size, the predictive quantizationparameter deriving unit derives the predictive quantization parameter ofthe coding block using quantization parameters of other coded blocksthat are different from the neighboring block adjacent to the codingblock in the predetermined direction.

[Item 5] A moving picture coding method of coding moving pictures inunits of a block by partitioning a first block, which is obtained bypartitioning each picture of the moving pictures into predeterminedsizes, into one or a plurality of second blocks, the method comprising:

a quantization parameter calculation step of calculating a quantizationparameter of the second block;

a predictive quantization parameter deriving step of deriving apredictive quantization parameter of the second block using quantizationparameters of a third block adjacent to the left of the second block anda fourth block adjacent to the top of the second block;

a differential quantization parameter generation step of generating adifferential quantization parameter of the second block from adifference between the quantization parameter of the second block andthe predictive quantization parameter of the second block; and

a coding step of coding the differential quantization parameter of thesecond block, wherein

in the predictive quantization parameter deriving step, the quantizationparameter of the third block is set as a first quantization parameterwhen the third block is at a position not beyond a boundary of the firstblock, a quantization parameter of a fifth block coded before the secondblock is set as the first quantization parameter when the third block isat a position beyond the boundary of the first block, the quantizationparameter of the fourth block is set as a second quantization parameterwhen the fourth block is at a position not beyond the boundary of thefirst block, the quantization parameter of the fifth block is set as thesecond quantization parameter when the fourth block is at a positionbeyond the boundary of the first block, and the predictive quantizationparameter of the second block is derived using the first and secondquantization parameters.

[Item 6] A moving picture coding program for coding moving pictures inunits of a block by partitioning a first block, which is obtained bypartitioning each picture of the moving pictures into predeterminedsizes, into one or a plurality of second blocks, the program causing acomputer to execute:

a quantization parameter calculation step of calculating a quantizationparameter of the second block;

a predictive quantization parameter deriving step of deriving apredictive quantization parameter of the second block using quantizationparameters of a third block adjacent to the left of the second block anda fourth block adjacent to the top of the second block;

a differential quantization parameter generation step of generating adifferential quantization parameter of the second block from adifference between the quantization parameter of the second block andthe predictive quantization parameter of the second block; and

a coding step of coding the differential quantization parameter of thesecond block, wherein

in the predictive quantization parameter deriving step, the quantizationparameter of the third block is set as a first quantization parameterwhen the third block is at a position not beyond a boundary of the firstblock, a quantization parameter of a fifth block coded before the secondblock is set as the first quantization parameter when the third block isat a position beyond the boundary of the first block, the quantizationparameter of the fourth block is set as a second quantization parameterwhen the fourth block is at a position not beyond the boundary of thefirst block, the quantization parameter of the fifth block is set as thesecond quantization parameter when the fourth block is at a positionbeyond the boundary of the first block, and the predictive quantizationparameter of the second block is derived using the first and secondquantization parameters.

[Item 7] A moving picture decoding device that decodes a bitstream inwhich moving pictures are coded by partitioning a first block, which isobtained by partitioning each picture of the moving pictures intopredetermined sizes, into one or a plurality of second blocks, thedevice comprising:

a decoding unit configured to extract a differential quantizationparameter of the second block by decoding the bitstream;

a predictive quantization parameter deriving unit configured to derive apredictive quantization parameter of the second block using quantizationparameters of a third block adjacent to the left of the second block anda fourth block adjacent to the top of the second block; and

a quantization parameter generation unit configured to generate aquantization parameter of the second block by adding the differentialquantization parameter of the second block and the predictivequantization parameter of the second block, wherein

the predictive quantization parameter deriving unit sets thequantization parameter of the third block as a first quantizationparameter when the third block is at a position not beyond a boundary ofthe first block, sets a quantization parameter of a fifth block decodedbefore the second block as the first quantization parameter when thethird block is at a position beyond the boundary of the first block,sets the quantization parameter of the fourth block as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, sets the quantization parameter of thefifth block as the second quantization parameter when the fourth blockis at a position beyond the boundary of the first block, and derives thepredictive quantization parameter of the second block using the firstand second quantization parameters.

[Item 8] The moving picture decoding device according to item 7, wherein

the predictive quantization parameter deriving unit sets an averagevalue of the first and second quantization parameters as the predictivequantization parameter.

[Item 9] The moving picture decoding device according to item 7 or 8,wherein

size information of the second block is extracted from a bit stream andis set as a size of the second block.

[Item 10] A moving picture decoding device that decodes a bitstream inwhich moving pictures are coded in units of a coding block bypartitioning a block, which is obtained by partitioning each picture ofthe moving pictures into predetermined sizes, into one or a plurality ofcoding blocks, the device comprising:

a decoding unit configured to extract a differential quantizationparameter of a decoding block by decoding the bit stream in units of adecoding block;

a predictive quantization parameter deriving unit configured to derive apredictive quantization parameter of the decoding block according to aprediction mode of the decoding block using quantization parameters ofdecoded neighboring blocks adjacent to the decoding block; and

a quantization parameter generation unit configured to generate aquantization parameter of the decoding block by adding the differentialquantization parameter of the decoding block and the predictivequantization parameter of the decoding block, wherein

when a neighboring block adjacent to the decoding block in apredetermined direction of the decoding block is at a position beyond aboundary of the block having the predetermined size, the predictivequantization parameter deriving unit derives the predictive quantizationparameter of the decoding block using quantization parameters of otherdecoded blocks that are different from the neighboring block adjacent tothe decoding block in the predetermined direction.

[Item 11] A moving picture decoding method of decoding a bitstream inwhich moving pictures are coded by partitioning a first block, which isobtained by partitioning each picture of the moving pictures intopredetermined sizes, into one or a plurality of second blocks, themethod comprising:

a decoding step of extracting a differential quantization parameter ofthe second block by decoding the bitstream;

a predictive quantization parameter deriving step of deriving apredictive quantization parameter of the second block using quantizationparameters of a third block adjacent to the left of the second block anda fourth block adjacent to the top of the second block; and

a quantization parameter generation step of generating a quantizationparameter of the second block by adding the differential quantizationparameter of the second block and the predictive quantization parameterof the second block, wherein

in the predictive quantization parameter deriving step, the quantizationparameter of the third block is set as a first quantization parameterwhen the third block is at a position not beyond a boundary of the firstblock, a quantization parameter of a fifth block decoded before thesecond block is set as the first quantization parameter when the thirdblock is at a position beyond the boundary of the first block, thequantization parameter of the fourth block is set as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, the quantization parameter of the fifthblock is set as the second quantization parameter when the fourth blockis at a position beyond the boundary of the first block, and thepredictive quantization parameter of the second block is derived usingthe first and second quantization parameters.

[Item 12] A moving picture decoding program for decoding a bitstream inwhich moving pictures are coded by partitioning a first block, which isobtained by partitioning each picture of the moving pictures intopredetermined sizes, into one or a plurality of second blocks, theprogram causing a computer to execute:

a decoding step of extracting a differential quantization parameter ofthe second block by decoding the bitstream;

a predictive quantization parameter deriving step of deriving apredictive quantization parameter of the second block using quantizationparameters of a third block adjacent to the left of the second block anda fourth block adjacent to the top of the second block; and

a quantization parameter generation step of generating a quantizationparameter of the second block by adding the differential quantizationparameter of the second block and the predictive quantization parameterof the second block, wherein

in the predictive quantization parameter deriving step, the quantizationparameter of the third block is set as a first quantization parameterwhen the third block is at a position not beyond a boundary of the firstblock, a quantization parameter of a fifth block decoded before thesecond block is set as the first quantization parameter when the thirdblock is at a position beyond the boundary of the first block, thequantization parameter of the fourth block is set as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, the quantization parameter of the fifthblock is set as the second quantization parameter when the fourth blockis at a position beyond the boundary of the first block, and thepredictive quantization parameter of the second block is derived usingthe first and second quantization parameters.

What is claimed is:
 1. A moving picture decoding device that decodes abitstream in which moving pictures are coded by partitioning a firstblock, which is obtained by partitioning each picture of the movingpictures into predetermined sizes, into one or a plurality of secondblocks, the device comprising: a decoding unit configured to extract adifferential quantization parameter of the second block by decoding thebitstream; a predictive quantization parameter deriving unit configuredto derive a predictive quantization parameter of the second block usingquantization parameters of a third block adjacent to the left of thesecond block and a fourth block adjacent to the top of the second block;and a quantization parameter generation unit configured to generate aquantization parameter of the second block by adding the differentialquantization parameter of the second block and the predictivequantization parameter of the second block, wherein the predictivequantization parameter deriving unit sets the quantization parameter ofthe third block as a first quantization parameter when the third blockis at a position not beyond a boundary of the first block, sets aquantization parameter of a fifth block decoded immediately before thesecond block in a decoding order as the first quantization parameterwhen the third block is at a position beyond the boundary of the firstblock so as to set the first quantization parameter having a non-zerovalue regardless of the position for the boundary of the first block,sets the quantization parameter of the fourth block as a secondquantization parameter when the fourth block is at a position not beyondthe boundary of the first block, sets the quantization parameter of thefifth block as the second quantization parameter when the fourth blockis at a position beyond the boundary of the first block so as to set thesecond quantization parameter having a non-zero value regardless of theposition for the boundary of the first block, and derives an average ofthe first and second quantization parameters as the predictivequantization parameter of the second block regardless of the position ofthe third block or the fourth block, or both the third and fourthblocks, with respect to the boundary of the first block.
 2. A movingpicture decoding method of decoding a bitstream in which moving picturesare coded by partitioning a first block, which is obtained bypartitioning each picture of the moving pictures into predeterminedsizes, into one or a plurality of second blocks, the method comprising:a decoding step of extracting a differential quantization parameter ofthe second block by decoding the bitstream; a predictive quantizationparameter deriving step of deriving a predictive quantization parameterof the second block using quantization parameters of a third blockadjacent to the left of the second block and a fourth block adjacent tothe top of the second block; and a quantization parameter generationstep of generating a quantization parameter of the second block byadding the differential quantization parameter of the second block andthe predictive quantization parameter of the second block, wherein inthe predictive quantization parameter deriving step, the quantizationparameter of the third block is set as a first quantization parameterwhen the third block is at a position not beyond a boundary of the firstblock, a quantization parameter of a fifth block decoded immediatelybefore the second block in a decoding order is set as the firstquantization parameter when the third block is at a position beyond theboundary of the first block so as to set the first quantizationparameter having a non-zero value regardless of the position for theboundary of the first block, the quantization parameter of the fourthblock is set as a second quantization parameter when the fourth block isat a position not beyond the boundary of the first block, thequantization parameter of the fifth block is set as the secondquantization parameter when the fourth block is at a position beyond theboundary of the first block so as to set the second quantizationparameter having a non-zero value regardless of the position for theboundary of the first block, and an average of the first and secondquantization parameters as the predictive quantization parameter of thesecond block is derived regardless of the position of the third block orthe fourth block, or both the third and fourth blocks, with respect tothe boundary of the first block.
 3. A recording medium having a movingpicture decoding program for decoding a bitstream in which movingpictures are coded by partitioning a first block, which is obtained bypartitioning each picture of the moving pictures into predeterminedsizes, into one or a plurality of second blocks, the program causing acomputer to execute: a decoding step of extracting a differentialquantization parameter of the second block by decoding the bitstream; apredictive quantization parameter deriving step of deriving a predictivequantization parameter of the second block using quantization parametersof a third block adjacent to the left of the second block and a fourthblock adjacent to the top of the second block; and a quantizationparameter generation step of generating a quantization parameter of thesecond block by adding the differential quantization parameter of thesecond block and the predictive quantization parameter of the secondblock, wherein in the predictive quantization parameter deriving step,the quantization parameter of the third block is set as a firstquantization parameter when the third block is at a position not beyonda boundary of the first block, a quantization parameter of a fifth blockdecoded immediately before the second block in a decoding order is setas the first quantization parameter when the third block is at aposition beyond the boundary of the first block so as to set the firstquantization parameter having a non-zero value regardless of theposition for the boundary of the first block, the quantization parameterof the fourth block is set as a second quantization parameter when thefourth block is at a position not beyond the boundary of the firstblock, the quantization parameter of the fifth block is set as thesecond quantization parameter when the fourth block is at a positionbeyond the boundary of the first block so as to set the secondquantization parameter having a non-zero value regardless of theposition for the boundary of the first block, and an average of thefirst and second quantization parameters as the predictive quantizationparameter of the second block is derived regardless of the position ofthe third block or the fourth block, or both the third and fourthblocks, with respect to the boundary of the first block.